home *** CD-ROM | disk | FTP | other *** search
/ Network CD 1 / Network CD.iso / dnet / dnet.doc.richhelms < prev    next >
Text File  |  1994-02-11  |  33KB  |  861 lines

  1.                                        
  2.                   DNET V2.00
  3.                  1 MARCH 1989
  4.  
  5.  
  6.     DNET (c)Copyright 1987-1989 Matthew Dillon, All Rights Reserved
  7.  
  8.     Matthew Dillon
  9.     891 Regal Rd
  10.     Berkeley, Ca. 94708
  11.     USA
  12.  
  13.     ...!ihnp4!ucbvax!dillon     USENET
  14.     dillon@ucbvax.Berkeley.edu    ARPANET
  15.     ucbvax.berkeley.edu pub/amiga    ARPANET-FTP
  16.  
  17. This documentation was compiled by Rich Helms from the original
  18. documentation by Matthew Dillion.
  19.  
  20.         Rich Helms
  21.         Ye Olde Helmstead Farm
  22.         RR #1
  23.         Sunderland, Ontario
  24.         L0C 1H0 Canada
  25. Table of Contents
  26. History
  27. 1. What is DNet
  28. 2. Installation
  29. 3. Commands
  30. Appendix A.Building a Null Modem Cable
  31.                 HISTORY
  32.     V1.00   sometime in 1987
  33.         First release
  34.  
  35.     V1.20   sometime in 1988
  36.         Fixes to the first release
  37.  
  38.     V2.00   1 March 1989
  39.  
  40.         Major fixes, additions, and other items.
  41.                    WHAT IS DNET
  42.  
  43. DNet is a link protocol and should properly be called DLink, but
  44. the name DNet stuck and so it will stay.  DNet allows one to connect two
  45. amigas together and run multiple connections between them.  For example,
  46. you can open a talk window or two or three and be doing an upload and be
  47. doing a download all at the same time.
  48.  
  49. Currently, DNet can be used to connect two Amiga's together or an Amiga 
  50. to a 4.2BSD/4.3BSD compatible UNIX.
  51.  
  52. Note: AN 8 BIT PATH MUST BE AVAILABLE TO RUN DNET.  DNet must be
  53. able to send and receive all 256 character codes.  This is generally not
  54. a problem between two amigas connected via modem.  This can be a problem
  55. connecting to UNIX boxes over a port selector or terminal concentrator.
  56.  
  57.               INSTALLING DNET ON YOUR AMIGA
  58.  
  59. There are a number of steps involved in the installation of DNet including
  60. hardware and software. 
  61.  
  62. * Hardware Connection
  63.  
  64. It is first necessary to connect the Amiga with the other system. This 
  65. can be done in one of two ways, either a modem or null modem cable. If the
  66. systems are to communicate over a phone line, then a modem is necessary.
  67. If the systems are in the same area, a null modem cable can be made.
  68.  
  69. * How to Make a Null Modem Cable
  70.  
  71. Serial communications can be done over a nonshielded cable for up to 50
  72. feet. To exceed 50 feet, shielded cable should be used. Distance has an
  73. effect on the quality of cable needed as well as the speed you can run the
  74. serial port. My personal system has an Amiga 1000 and an Amiga 500
  75. connected by a 60 foot shielded 4 wire cable and I run the two Amigas at
  76. 19,200 baud. Nonshielded cables or long runs may cut into the speed
  77. possible.
  78.  
  79. Three types of cables can be made. The first is a "full" null modem cable.
  80. The second is a cable that puts through the minimum lines and tricks the
  81. other connections. The third is a cable with the "minimum" number of lines
  82. and no tricks to fool the system. This kind of cable requires special 
  83. software support.
  84.  
  85. See Appendix A for the details of how to build all three cables.
  86.  
  87. * Async line drivers
  88.  
  89. For distances up to a few miles, an async line driver can be used. The
  90. purpose of such a device is to amplify the signal for the longer
  91. trip down the wire. Many vendors sell such devices. One is  Black Box 
  92. Canada Corp (195 Riviera Dr., Markham, Ontario, Canada, L3R 5J6. They
  93. sell line drivers that look like a typical serial plug but has 4 screw
  94. terminals on the end. You connect standard phone 4 wire to each unit and
  95. you can run up to 3.2 miles of wire and run at either 9,600 baud on the
  96. SHM-NPR ($123.50 Cdn Fall) or 19,200 baud on the SHM-NPR1 ($138.00). 
  97.  
  98. * Performance 
  99.  
  100. While the Amiga can run at 19,200 baud, the effective rate is not what the
  101. serial port is configured to. There is overhead in the program.
  102.  
  103. In one test, 2 Amigas were linked via a null modem cable. A 47K file was
  104. loaded in the RAM: on one system and copied to the other system by the
  105. GETFILES program.
  106.  
  107. At 19,200 baud the copy took 27 seconds giving an effective thruput of
  108. 1.7 K bytes per second (about 17,800 baud). 
  109.  
  110. Do not try to run at 38,400 baud. It will lock up the system.
  111.  
  112.                  SOFTWARE INSTALLATION
  113.  
  114. (1) copy dres.library to libs:
  115.  
  116. (2) Create a directory for the DNet programs (we will use 
  117.     Network_Programs for this document.
  118.  
  119. (3) In s:Startup-Sequence add these lines:
  120.  
  121.     assign dnet: Network_Programs
  122.     path dnet: add
  123.  
  124.     Now you can call any DNet program from the directory as dnet:.
  125.  
  126.     Note: You must have assigned env: for DNet to work.
  127.  
  128. (4) copy the DNet binary and all client and server program to dnet:
  129.     These programs include:
  130.  
  131.             bbsterm                          cliterm
  132.             dbbs                             dnet
  133.             fterm                            getfiles
  134.             loadav                           putfiles
  135.             quitdnet                         scli
  136.             scopy                            sgcopy
  137.             spasswd                          sprint
  138.             statdnet                         sterm
  139.  
  140. (5) copy the file dnet.servers to s:
  141.  
  142.     All programs in dnet.servers points to where the associated program is
  143.     found. As it points to dnet: as the location, your assign done in step 3
  144.     will cause all programs to be found.
  145.  
  146.     The dnet.servers file looks like this:
  147.  
  148.     8192    dnet:scopy    ram:    ;File Transfer server
  149.     8195    dnet:sterm    ram:    ;Terminal Window server
  150.     8196    dnet:scli    ram:    ;Shell Server (needs pipe:)
  151.     8197    dnet:sloadav    ram:    ;Load Average Server
  152.     8198    dnet:sprint    ram:    ;Printer Server (direct copy)
  153.     8199    dnet:spasswd    ram:    ;Password Server
  154.     ; 8200 reserved for BBS server, handled by dbbs client&server program
  155.     8201    dnet:sgcopy    ram:    ;GET files server
  156.  
  157. (6) copy the file dnet.config to s:
  158.  
  159.     You may have to modify s:dnet.config. See the chapter on the dnet
  160.     command.
  161. (7) If you want to run a CLI session on system B from system A then on
  162.     system B you must:
  163.  
  164.     Add to devs:MountList 
  165.  
  166.     DPIPE:    Handler = dnet:dpipe-handler
  167.         Stacksize = 6000
  168.         Priority = 5
  169.         GlobVec  = 1
  170.     #
  171.  
  172.     NULL:   Handler = dnet:null-handler
  173.         Stacksize = 500
  174.         Priority = 5
  175.         GlobVec = 1
  176.     #
  177.  
  178.     With these 2 entries in the MountList file, you can run a remote CLI.
  179.     It is also necessary to execute
  180.  
  181.         MOUNT DPIPE:
  182.         MOUNT NULL:
  183.     
  184.     on System B before running CLITERM on system A.
  185.  
  186. Note: the parameters in DNET are case sensitive. The X MUST be a capital
  187. letter.
  188.  
  189.                   IF YOU ARE USING A MODEM
  190.  
  191. 1> RUN DNET -X -8 -b1200
  192.  
  193. The above line also sets the baud to 1200. The idea is you set it to 
  194. what is proper for your modem. In the small window that appears, type the
  195. commands to make the call with your modem.
  196.  
  197.           IF YOU ARE USING A NULL MODEM CABLE
  198.  
  199. 1> Set preferences on both mochines to:
  200.     19,200 or 9,600 baud (both machines MUST match)
  201.     8 bit read and write
  202.     1 stop bit
  203.     no parity
  204.     xON/xOFF
  205.  
  206. If you are using a full null modem cable or a tricked null modem cable
  207. as described in Appendix A enter:
  208.  
  209. 2> RUN DNET -X 
  210.  
  211. If you are using a 3 wire null modem cable with only lines 2 crossed 
  212. to 3 and line 7 through, enter:
  213.  
  214. 2> RUN DNET -X -h0
  215. Note: the -h0 tells DNET to ignore the carrier detect line. 
  216.  
  217.  
  218. WARNING: The defaults for -X (manual mode) in S:DNET.CONFIG turn off all
  219. security.  Please read documentation on security for more information.
  220.  
  221.             SCRIPT TO STARTDNET
  222.  
  223. Here is a sample script to start DNet. 
  224.  
  225.     assign dnet: dh0:Network_Programs   ;set to the directory you used
  226.     path dnet: add
  227.     run dnet:DNET -X                    ;set your parameters up
  228.     mount dpipe:                        ;this is necessary if a remote
  229.     mount null:                         ;CLI is to be used
  230.  
  231.  
  232. A small DNET window should appear from which you can dialup your
  233. friend's amiga.  On a modem CONNECT, DNET should automatically adjust the
  234. baud rate.  It may be necessary to modify S:DNET.CONFIG as to how your 
  235. modem tells the active baud rate.
  236.  
  237. After connecting, executing the START DNET menu option from either
  238. end will start the protocol.  The small dnet window should go away
  239. and DNET should attempt to run the FTERM client program, which
  240. connects to an STERM server program on the other end.  Your friend's
  241. amiga will do the same. 
  242.  
  243. Note: The return key on one system will not reset the cursor to the next
  244. line. It will do a line feed but not a carriage return. See FTERM to see
  245. how to start a window on the other Amiga with correct cursor control. 
  246.  
  247. If all goes ok, it should flash the window size in the title bar
  248. and you can type.  If not, the window will go away and an error
  249. message will be printed out in your CLI: "unable to connect".
  250.  
  251. WARNING: Even if there are no windows open (no clients active),
  252. DNet is still running!!!!  us the CLI BREAK command to kill DNet
  253. and give you back the initial DNet window, from which you can
  254. hit the close-window gadget.
  255.  
  256. Breaking the DNet protocol will kill any active clients.
  257.  
  258. Unless specified with the -h0 option, if the modem carrier is lost
  259. DNet will kill all clients and re-open its initial window.
  260.                    SERVERS AND CLIENTS
  261.  
  262.  
  263. DNet has a notion of servers and clients.  That is, you run the
  264. protocol as described above, then run other external programs that talk
  265. to the core program "DNet".  These other external programs "FTerm",
  266. "GetFiles", "PutFiles", etc... obtain virtual connections to special
  267. server programs on the remote machine.
  268.  
  269. Thus, when you started the protocol above DNet automatically
  270. ran the FTERM client... you can run as many FTERMs as you have memory
  271. for (well, actually, DNet is limited to 64 simultanious channels).  When
  272. a client program such as FTERM is run on computer A, it causes the
  273. appropriate server program (STERM in this case) to automatically be run
  274. on computer B.    The client and server need some way to rendezvous, and they
  275. do this by giving the same PORT NUMBER to the protocol driver.
  276.  
  277. This is what the S:DNET.SERVERS file is ... when you run a client
  278. on computer A it asks for server #<blah> (e.g. 8195 for an FTERM) on the
  279. remote machine.  Computer B (the remote machine) looks up 8195 in the
  280. S:DNET.SERVERS file, finds the path to the server in question, and runs it
  281. automatically.
  282.  
  283.     PORT    CLIENT    SERVER        PURPOSE
  284.  
  285.     8192    PutFiles    SCopy        send files to remote computer
  286.     8195    FTerm    STerm        open a talk window on both computers
  287.     8196    CLITerm    SCli        remote-CLI (actually newshell)
  288.     8197    LoadAv    ------        Load-Average window (when running DNet
  289.                     to a UNIX machine)
  290.     8198    ------    SPrint        printer server
  291.     8199    DLogin    SPasswd     password server.  Used to gain security
  292.                     access for auto-answer callups
  293.     8201    GetFiles    SGCopy        download files from remote computer
  294.                   DNET OPTIONS
  295.  
  296.     (please refer to S:DNET.CONFIG while reading this)
  297.  
  298.     DNet runs in three basic modes:  AutoAnswer (-a), DialOut (default),
  299.     and Manual (-X).  Each mode has its own default set of security
  300.     parameters.  The shipped defaults assume a hostile enviroment.
  301.     Generally,    AutoAnswer is assumed to be the most hostile since you
  302.     do not know who is calling you up.    DialOut is less so since you know
  303.     who you are dialing, and Manual assumes a non-hostile enviroment.
  304.  
  305.     These three modes also cause DNet to work differently.
  306.  
  307.  
  308. AMIGA/DNET
  309.  
  310.     DialOutMode:    The default mode is DialOutMode (neither -X or -a
  311.         given).  DNet will look for a CONNECT message on carrier
  312.         detect and modify the baud rate according to the AUTA
  313.         resources.
  314.  
  315.         DNet will set the security modes to the ENVO (originate)
  316.         resources in s:dnet.config
  317.  
  318.         NOTE:  response through the initial window will be slow due
  319.         to DNet's scanning of the resource file s:dnet.config.
  320.  
  321.     -X        Manual mode.  DNet will look for a CONNECT message on
  322.         carrier detect and modify the baud rate on connect
  323.         appropriately.
  324.  
  325.         DNet will set the security modes to the ENVM resources
  326.         which assumes a friendly connection.
  327.  
  328.     -a        Auto Answer mode.  DNet will send the RESM resources at
  329.         the originally specified baud rate to reset the modem
  330.         whenever carrier is lost.
  331.  
  332.         The security modes are set the the ENVA resources, which
  333.         normally assume a hostile enviroment.
  334.  
  335.     -8        Use 8 bits no parity for the initial window rather than
  336.         7 bits even parity.  NOTE!  This only effects the initial
  337.         login window.  The Protocol, when running, always uses
  338.         8 bits no parity.
  339.  
  340.     -bbaud    Set Initial Baud rate (otherwise uses preferences baud
  341.         rate)
  342.  
  343.     -Bbaud    Set Baud used to determine timeouts.  If not set, the
  344.         current baud rate, whatever that is, is used.  If set,
  345.         this value is used to calculate timeouts forever after
  346.         no matter what the actual line baud rate is.
  347.  
  348.         For example, setting this value lower than whatever baud
  349.         rate you normally use will allow for longer line delays
  350.         (such as when dialing through networks and things)
  351.     -sclient    Run the specified client program on protocol start.  If
  352.         running a BBS you want to specify the BBS client program
  353.         here.
  354.  
  355.         NOTE:  If the DNET_NORUNCLIENT enviroment variable is set,
  356.         no client program will be run even if this option is
  357.         specified.  This is used by DBBS to ensure that DNet does
  358.         not start it several times.  This enviroment variable is
  359.         automatically deleted when DNET is first run.
  360.  
  361.         The default is to run the FTERM client.
  362.  
  363.  
  364.     -nhostname    Set the hostname (not used)
  365.  
  366.     -h0     Disable the auto-hangup feature.  This only works when
  367.         in DialOut (default) or Manual (-X) mode and causes DNet to
  368.         ignore the carrier detect line.  CD MUST be implemented for
  369.         AutoAnswer.
  370.  
  371.     -U#     Set the unit number for the low level serial-like device
  372.         to talk over.
  373.  
  374.     -Ddevice    Set the device name for the low level serial-like device
  375.         to talk over (i.e. "serial.device").
  376.  
  377.     -N#     Set the network ID for local client/server rendezvous
  378.  
  379.     -p        Packet Debug mode
  380.  
  381.     -d        Debug mode on
  382.  
  383.          ---------------------------------------------------
  384.                 SECURITY
  385.  
  386.     The following enviroment variables should exist:
  387.  
  388.     DNET_LEVEL, DNET_READ, DNET_WRITE, DNET_GROUP, DNET_USERID
  389.  
  390.     These are setup automatically by the S:dnet.config file depending on
  391.     the mode (Manual, DialOut (-X), AutoAnswer (-a)) and are read by local
  392.     servers to determine what the remote machine is allowed to do.  These
  393.     variables each hold a single value, normally 0-9 (except for DNET_GROUP
  394.     which can be any number 0-32767).
  395.  
  396.     SGCOPY (server for getfiles):
  397.  
  398.     This is a new server.
  399.  
  400.     DNET_READ and DNET_GROUP  determine which files the remote machine
  401.         may download (read).  In order for the remote to be able to download 
  402.         a file,that file and all its parent directories are scanned.  At
  403.         least one comment field must have an AC entry (AC=n) less than or
  404.     equal to the current DNET_READ enviroment variable or sgcopy will
  405.     disallow the download.    If NO comment fields have an AC entry
  406.     the download is disallowed.  If any comment field has an AC
  407.     entry > DNET_READ, the download is disallowed unless a GP entry
  408.     was found (GR=n).
  409.     A comment field may have multiple GR entries (GR=n GR=n ...).  If
  410.     any matches DNET_GROUP and all (if any) AC fields are <= DNET_READ,
  411.     the download is allowed.
  412.  
  413.     After that point a download will begin and files/dirs need not have
  414.     AC entries.  However, if any do, it will be checked again DNET_READ
  415.     and the download (for that file or directory) disallowed.
  416.  
  417.     SCOPY (server for putfiles)
  418.  
  419.     This server allows remote machines to upload a file.  That is,
  420.     transfer from the remote machine to the local machine.    DNET_WRITE
  421.     must be 9 or higher or the upload will be disallowed.  Currently,
  422.     the remote machine may upload anywhere so it is suggested that you
  423.     either NOT have the SCOPY server installed or do not set DNET_WRITE
  424.     to 9 or beyond when talking to possibly hostile remote machines.
  425.  
  426.     SPRINT (printer server)
  427.  
  428.     This server copies a stream to PRT:  DNET_WRITE must be at least
  429.     6 or the remote machine will not be allowed to use this server.
  430.  
  431.     SCLI (CLI server)
  432.  
  433.     This server is currently a big hack and requires a special pipe
  434.     device to work (The 1.3 pipe: will not work).
  435.  
  436.     DNET_LEVEL must be at least 9 for a remote machine to be able to
  437.     start a remote cli
  438.  
  439.     STERM  (terminal window server)
  440.  
  441.     This server requires no permissions to operate and allows the
  442.     remote machine to bring up a 'terminal window' to talk you
  443.     through.
  444.  
  445.     AUTOMATIC ENVIROMENT VARIABLE CONFIGURATION CAN BE DONE FROM
  446.     S:DNET.CONFIG
  447.  
  448.          ---------------------------------------------------
  449.  
  450.                 TALKING TO A DBBS
  451.  
  452.     Amiga users wishing to connect to DBBS hosts should use the following
  453.     command line:
  454.  
  455.     Run dnet -8 -sbbsterm
  456.  
  457.     The -8 is required only if you have a stupid 'smart' modem which
  458.     figures out the parity and then stays with it forever after.  Since
  459.     neither -a or -X have been given, you are in the medium-security
  460.     'dial-out' mode.
  461.     Then, dial up the BBS in question.    If the other end is indeed a
  462.     DNET-BBS running under automatic operation, the protocol should start
  463.     up almost immediately.  On protocol startup, your side will
  464.     automatically attempt to run the BBSTERM program (which connects to the
  465.     BBS server on the other end).  NOTE that the BBSTERM executable and
  466.     FTERM executable are one and the same.  The naming 'BBSTERM' causes
  467.     it to use the BBS's port (8200) instead of the STERM port (8195)
  468.  
  469.     Currently the BBS server will allow only one connection at a time and
  470.     return other attempts with an error.  However, you can still download,
  471.     upload, readmail, and talk to the sysop all at the same time.
  472.  
  473.             Downloading files from the DBBS
  474.  
  475.     The getfiles client program is used to retrieve files from the DBBS.
  476.     The DBBS will set security options and such to allow you to download
  477.     files.
  478.  
  479.             Allowing the DBBS to upload files from you
  480.  
  481.     At least one of the directories in the path leading to the eventual
  482.     file/dir that you want to upload to the BBS must have a comment
  483.     field containing the string AC=<n>    (e.g. AC=1) where <n> is at least
  484.     whatever read security level you have set (the DNET_READ enviroment
  485.     variable, for example:  setenv DNET_READ 1), or the DBBS will be unable
  486.     to retrieve the file(s)/dir(s) and will tell you so.
  487.  
  488.  
  489.          ---------------------------------------------------
  490.                    EMAIL NETWORK
  491.  
  492.     Has not been implemented yet, but will eventually be just another
  493.     server.  This is one of the reasons why the connect-to-BBS is done
  494.     by the caller rather than have the BBS automatically startup an STERM
  495.     on protocol startup ... this way, future enhancements such as an
  496.     automated email network can be added without the burden of automatically
  497.     starting up a BBS everytime.
  498.  
  499.     I also plan to implement a CRON based auto-dialer for email transfer.
  500.  
  501.         ----------------------------------------------
  502.  
  503.                    RUNNING AS A DBBS
  504.  
  505.     The DBBS server program is a BBS system for the Amiga which runs under
  506.     DNet.  The following is an example command line for automatic
  507.     operation.    Your modem must implement the CD (carrier detect) line and
  508.     must disconnect when DTR is dropped.
  509.  
  510.     Run dnet -8 -a -bmaxbaud -sdbbs     (other options may apply)
  511.     That is, 8 bits no parity for the initial window (doesn't matter unless
  512.     you have one of those stupid-smart modems), answer mode (automatic
  513.     protocol startup on carrier detect), the maximum baud rate your modem
  514.     can handle, and to run the DBBS client on protocol startup.
  515.  
  516.     The DBBS program is the BBS program itself.  It is a client in that you
  517.     RUN it (or allow DNET to run it via the -s option).  It is a server in
  518.     that it passively waits for connections from the remote end.  This
  519.     program also handles disconnecting users when their time runs out or
  520.     they are idle too long.
  521.  
  522.     Since PUTFILES is a security hole right now, rather than have users
  523.     of the BBS PUTFILES to upload, they will request the BBS to GETFILES
  524.     the files to upload.
  525.  
  526.     *NEVER SET YOUR DNET_LEVEL or DNET_WRITE TO 9 OR ABOVE!  Doing so gives
  527.      remote users sysop level access to DNet.
  528.  
  529.     NOTE:   I intend to implement a mail network at some point.  Remember
  530.     that in the future, users will dial up and connect to your machine to
  531.     do things other than just use the DBBS (i.e. they'll connect to the
  532.     EMAIL server in many cases for an automated mail transfer).
  533. AMIGA/CLITERM
  534.  
  535.     CLITERM [-Nnet] [port#]
  536.  
  537.     CLITERM is used between two amigas to open a remote CLI on the remote
  538.     amiga.
  539.  
  540.     CLITERM is a standard FTERM minus some features and plus some features.
  541.     The big feature is that it line-buffers the data, allowing you to
  542.     edit lines before sending them off to the remote cli.  It also
  543.     defaults to the SCLI server's port # (8196).
  544.  
  545.     WARNING: You must be at a CLI (or 1.3 NewShell shell) prompt when
  546.     you exit!
  547.  
  548.     The remote machine must have the Amiga OS V1.3 NewShell command
  549.     installed as well as DPIPE:, and the DNET_LEVEL enviroment variable
  550.     must be at least 9 (accomplished by the remote user running dnet -X or
  551.     modifying s:dnet.config).  A shell initialization from file,
  552.     s:remote-startup, is automatically executed by the shell.
  553.  
  554.     It is suggested that the program "noreq" be run by s:remote-startup
  555.     to disable requesters (or your remote CLI will freeze when you make
  556.     a mistake that brings up a DOS requester!).
  557. AMIGA/FTERM
  558. AMIGA/BBSTERM
  559.  
  560.     FTERM [-Nnet] [port#] [-c#] [-wcapturefile]
  561.  
  562.     FTERM opens a standard intuition window and connects to a CSH running on
  563.     the remote UNIX machine.  If the remote machine is another Amiga, it
  564.     connects to the terminal-window server (STERM).
  565.  
  566.     To call the other Amiga with the CR LF correct use:
  567.  
  568.     dnet:FTerm -c7
  569.  
  570.     UNIX: The csh runs on a PTY and is NOT named, which means you don't show
  571.     up in WHO or FINGER, and cannot TALK other people (nor can they talk you).
  572.     To get a named shell, you must 'rlogin localhost'.  This adds another
  573.     process to the character-loop.
  574.  
  575.     The default port# is 8195.    You can also specify another port # to
  576.     connect to.
  577.  
  578.     The -N option specifies the network (default = 0).  This is the same
  579.     network as was specified when you ran DNET (if was not specified, is 0)
  580.  
  581.     The -c# option (-c7 for example) sets the 'cooked' mode.  Bits are
  582.     defined as follows:
  583.  
  584.         bit
  585.         0   turn keyboard CR's into LFs when sent to remote
  586.         1   Local Echo (half duplex)
  587.         2   cause received LFs to generate a CR+LF (i.e. CSI20h)
  588.  
  589.     -wcapturefile   Specify name of capture file, else "ram:capture".
  590.  
  591.     Menus:  (partially implemented):  Capture -capture into ram:capture
  592.  
  593.                       Paste   -pastes from ram:paste
  594.  
  595.                       Flush   -get rid of buffered data
  596.                            on remote end (that would
  597.                            otherwise take a long time
  598.                            to display)
  599.  
  600.     BBSTERM is simply FTERM renamed, and uses PORT_BBS (8200) instead of
  601.     PORT_IALPHATERM (8195).
  602.  
  603.     RELEASE INFO:
  604.  
  605.     V1.10   DNET 1.10 release
  606.  
  607.         -Implements auto window resize and auto-remote-resize
  608.         -Implements local echo (cooked mode) and buffering
  609.  
  610.         Remote STERM implements equivalent options and now has the
  611.         same resize/echo/remote-resize capabilities as FTERM.
  612.  
  613.     V1.00   Initial Release
  614. AMIGA/LOADAV
  615.  
  616.     LOADAV [-Nnet] [updatetime]
  617.  
  618.     Create a load average window on your amiga.  The program 'uptime' must
  619.     exist on the UNIX end for this to work.  The default update time is
  620.     60 seconds.
  621.  
  622.     The -N option specifies the network (default = 0).  This is the same
  623.     network as was specified when you ran DNET (if was not specified, is 0)
  624.  
  625. AMIGA/FTERM   Using FTERM to gain access to the SPASSWD server.
  626.  
  627.     FTERM 8199        (Amiga<->Amiga connection, from calling amiga)
  628.     DSOC 8199        (Unix<->Amiga connection, from calling unix machine)
  629.  
  630.     This connects to the SPASSWD server on the Amiga which requests a
  631.     login and password to gain any level of security access to the amiga.
  632.  
  633.     S:DNET.CONFIG may contain zero or more entries of the following form:
  634.  
  635.     USER <username> <password> <read-access> <write-access> <level-access>
  636.  
  637.     example
  638.  
  639.     USER dillon casmtrek 9 9 9
  640.  
  641.     This server is useful as it allows you to leave your Amiga unattended
  642.     in auto-answer mode (with default security permissions 0 0 0).  You
  643.     can call up your amiga, connect to the SPASSWD server and enter your
  644.     own personal user-name/password to gain full access to your amiga
  645.     for the duration of the call.  When you hang up, the amiga will
  646.     automatically restore permissions to the default for the next caller.
  647. UNIX/GETFILES
  648. AMIGA/GETFILES
  649.  
  650.     GETFILES [-Nnet#] [-dlocaldir] [-c] file/dir file/dir file/dir ..
  651.  
  652.     GetFiles file transfer client.    Download the specified files and or
  653.     dirs from the remote machine into the current directory, or the
  654.     directory specified if the -d option is used.  Entire directory
  655.     trees may be downloaded
  656.  
  657.     The -c "continue" option only downloads files which do not already
  658.     exist.    For files which do exist, if the local file size is less
  659.     than the remote file size, the remainder will be downloaded and
  660.     appended to the local file.
  661.  
  662.                     SECURITY
  663.  
  664.     The remote host, if an amiga, will impose security restrictions on
  665.     those files allowed to be downloaded according to the comment field
  666.     of said files or any parent directory and the current DNET_READ
  667.     accesslevel.
  668.  
  669.     If the remote AMIGA's DNET_READ enviroment variable is set 9 or
  670.     higher, no access restrictions are imposed.
  671.  
  672.     If the remote AMIGA's DNET_READ enviroment variable is less than
  673.     9, the comment field of the requested file or the comment field
  674.     of any parent directory to that file (checked all the way to the
  675.     root directory if necessary) must contain a field:
  676.  
  677.         AC=<n>
  678.  
  679.     where <n> is a value less than or equal to the security level
  680.     (DNET_READ enviroment variable).  For example, if the remote user
  681.     sets the DNET_READ enviroment variable to 5 (normally done by
  682.     modifying the s:dnet.config file), and then sets the comment field
  683.     for his GAMES: volume to AC=5, remote users who connect to his
  684.     amiga will only be allowed to download files from that volume.
  685.  
  686.     The comment field will be used to house other parameters in the
  687.     future.
  688. UNIX/PUTFILES
  689. AMIGA/PUTFILES
  690.  
  691.     PUTFILES [-Nnet#] [-dDESTDIR] file/dir file/dir file/dir ..
  692.  
  693.     File transfer client.  Transfer the specified files and or directories
  694.     to the destination directory on the remote machine.  For instance:
  695.  
  696.     unix:  putfiles -dram: charlie.txt /usr/include
  697.  
  698.      places the file charlie.txt as ram:charlie.txt, and places the
  699.      directory structure /usr/include as ram:include/(whatever).
  700.  
  701.     The -N option selects the network number (see -N option for DNET).
  702.     The default is 0 (AMIGA ONLY).
  703.  
  704.     The default destination directory depends on the remote host.  If the
  705.     destination is an Amiga, the default is DF0: (so you probably always
  706.     want to specify a -d switch).  On the UNIX end, the default is whatever
  707.     is set in the file dnet.servers
  708.  
  709.     Currently, no file compression is done.  I also hope to add
  710.     semi-automatic crash recovery (continue download where you left off
  711.     after a crash), though it should be noted that it is very difficult
  712.     to crash DNET with random modem noise.
  713. AMIGA/QUITDNET
  714.  
  715.     QUITDNET [-Nnet]
  716.  
  717.     This program causes the remote DNET to exit (remote is UNIX) or return
  718.     to the original window state (remote is an AMIGA).  This is used mainly
  719.     for debugging to allow one to restart a newer copy of the program.
  720.  
  721.     The -N option specifies the network (default = 0).  This is the same
  722.     network as was specified when you ran DNET (if was not specified, is 0)
  723. APPENDIX A  Building a Null Modem Cable
  724.  
  725. Serial Interface Connector Specification
  726. --------------------------------------------------
  727.  
  728. The 25 pin D type connector with sockets (DB25S=female) is used to
  729. interface to RS232C standard signals.  Signal names correspond to 
  730. those used in the appendices of the hardware manual when possible.
  731.  
  732. A500 has a male DB25 socket, A1000 has a female DB25 connector.
  733.  
  734. WARNING:  Pins 14, 21 and 23 carry power on the A1000. On the A500 and
  735. A2000, pins 9 and 10 carry power. Do not connect to these pins 
  736. inadvertantly as they can permanently damage external equipment.
  737. Also, pins 15-18, 23-25 carry non-standard signals and should not be
  738. inadvertantly connected. NEVER use a fully wired 25 line cable!
  739. Full Null Modem Cable
  740. ---------------------
  741.  
  742. System A            System B
  743.  
  744. 1 ----------------- 1 Frame Ground            
  745. 2 -----3     3----- 2 TX data                 Cross RX & TX
  746. 3 -----2     2----- 3 RX data                 
  747. 4 ---*-8     8-*--- 4 Request to Send         Tie RTS & CTS cross to CD  
  748. 5 ---*         *--- 5 Clear to Send
  749.  
  750. 6 ----20     20---- 6 Data set ready          Cross DSR to DTR  
  751. 7 ----------------- 7 Signal Ground           
  752. 8 -----4     4----- 8 Carrier Detect          Cross CD to tied RTS & CTS  
  753.  
  754. 20 ----6     6----- 20 Data Terminal Ready    Cross DTR to DSR  
  755.  
  756.  
  757. Tricked Null Modem Cable
  758. ------------------------
  759.  
  760. 1 ----------------- 1 Frame Ground
  761.  
  762. 2 -----3     3----- 2 TX data                 Cross RX & TX
  763. 3 -----2     2----- 3 RX data
  764.  
  765. 4 ---*         *--- 4 Request to Send         Tie RTS & CTS
  766. 5 ---*         *--- 5 Clear to Send
  767.  
  768. 6 ---*         *--- 6 Data set ready          Tie DSR, CD & DTR
  769. 8 ---*         *--- 8 Carrier Detect 
  770. 20 --*         *--- 20 Data Terminal Ready
  771.  
  772. 7 ----------------- 7 Signal Ground
  773.  
  774. If using a long shielded cable, connect pin 1 to the shield on one end but
  775. not on the other.
  776.  
  777. Minimum Null Modem Cable
  778. ------------------------
  779.  
  780. 1 ----------------- 1 Frame Ground            This line is optional
  781.  
  782. 2 -----3     3----- 2 TX data                 Cross RX & TX
  783. 3 -----2     2----- 3 RX data
  784.  
  785. 7 ----------------- 7 Signal Ground
  786. Serial Interface Connector Pin Assignment (J6) 1000 (500)
  787. --------------------------------------------------
  788.               RS-232-C
  789.   pin  name  name  dir  std  notes
  790.        1000  500             (A500 notes)
  791.  
  792.    1   FGND  FGND        y   frame ground -- do not tie to logic ground
  793.                          [Common physical equipment ground]
  794.    2   TXD   TXD    O    y   transmit data
  795.                          [Data sent to DCE]
  796.    3   RXD   RXD    I    y   receive data
  797.                          [Data received from the DCE]
  798.    4   RTS   RTS    O    y   request to send
  799.                          [Turns on modem's transmit carrier]
  800.    5   CTS   CTS    I    y   clear to send
  801.                          [Indicates the modems transmit carrier is on]
  802.    6   DSR   DSR    I    y   data set ready
  803.                          [Indicates the modem is on]
  804.    7   GND   GND         y   signal ground -- do not tie to frame ground
  805.                          [Ground for signal carrying circuit]
  806.    8   CD    CD     I    y   carrier detect
  807.                          [Asserted when the modem hears a carrier]
  808.    9   ---   +12V            (+12V on A500)
  809.   10   ---   -12V            (-12V on A500)
  810.   11   ---   AUDO            (Audio out A500)
  811.   12   ---   ---
  812.   13   ---   ---
  813.   14   -5V   ---             50 ma maximum   *** WARNING -5V ***
  814.   15   AUDO  ---    O        audio output from left (channels 0, 3) port,
  815.                                 intended to send audio to the modem
  816.   16   AUDI  ---    I        audio input to right (channels 1, 2) port,
  817.                                 intended to receive audio from the modem;
  818.                                 this input is mixed with the analog output
  819.                                 of the right (channels 1, 2). It is not 
  820.                                 digitized or used by the computer in any 
  821.                                 way.
  822.   17   EB    ---    O        716 KHz clock that supports 68000 peripheral
  823.                                 transfers, intended for modem interface;
  824.                                 this is the buffered version of the E 
  825.                                 clock from the 68000.
  826.   18   INT2* AUDI   I        asserting this OPEN COLLECTOR signal will 
  827.                                 generate a level 2 interrupt to the 68000
  828.                                 if it is enabled.
  829.                  (Audio into A500)
  830.   19   ---   ---
  831.   20   DTR   DTR    O    y   data terminal ready
  832.                          [Asserted by terminal when ready to use modem]
  833.   21   +5V   ---             100 ma maximum  *** WARNING +5V ***
  834.   22   ---   RI          y   (Ring Indicator on A500)
  835.                          [For electrically detecting a phone call
  836.                              (auto-answer modems)]
  837.   23   +12V  ---             50 ma maximum   *** WARNING +12V ***
  838.   24   C2*   ---    O        3.58 MHz intended for modems that need a 
  839.                                 colorburst clock.
  840.   25   RESB* ---    O        Amiga system reset
  841.  
  842.                            Pin Layout
  843.  
  844. While looking into the connector:
  845.  
  846. The male RS232C is usually for the DTE (Data Terminal Equipment) 
  847. The A500 and A2000 use a male plug.
  848.  
  849.    1   2   3   4   5   6   7   8   9  10  11  12  13
  850.    *   *   *   *   *   *   *   *   *   *   *   *   *
  851.      *   *   *   *   *   *   *   *   *   *   *   *
  852.     14  15  16  17  18  19  20  21  22  23  24  25
  853.  
  854. The female is usually for the DCE (Data Communications Equipment - modem)
  855. The A1000 uses a female socket.
  856.  
  857.   13  12  11  10   9   8   7   6   5   4   3   2   1
  858.    *   *   *   *   *   *   *   *   *   *   *   *   *
  859.      *   *   *   *   *   *   *   *   *   *   *   *
  860.     25  24  23  22  21  20  19  18  17  16  15  14
  861.